package br.ufpb.di.ppgi.util.converter;

/**
 * Converte uma propriedade de um tipo &lt;From&gt; para o tipo &lt;To&gt;.
 * @author Tomaz Lavieri
 *
 * @param <From> o tipo de origem (from)
 * @param <To> o tipo de destino (to)
 */
public interface Converter<From,To> {
	/**
	 * Converte o parametro do tipo <tt>&lt;From&gt;</tt> para um objeto
	 * do tipo <tt>&lt;To&gt;</tt> 
	 * @param from o objeto que será convertido
	 * @return a conversão do objeto.
	 * @throws IllegalArgumentException caso o argumento não possa ser convertido.
	 */
	To convert(From from) throws IllegalArgumentException;
}
